+Wed Oct 22 23:20:04 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkfilechooser.[ch] gtk/gtkfilefilter.[ch]
+ gtk/gtkfilechooserwidget.[ch] gtk/gtkfilechooserdialog.[ch]:
+ gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]:
+ Basic framework for the new file selector widget.
+
+ * gtk/gtkfilechooserdefault.[ch] gtk/gtkcellrenderersep.[ch]
+ gtk/gtkfilechooserentry.[ch] gtk/gtkfilesystemmodel.[ch]:
+ Initial implementation of the GtkFileChooser user interface.
+
+ * gtk/gtkfilesystemunix.[ch]: GtkFileSystem implementation
+ for Unix files.
+
+ * configure.in gtk/Makefile.am gtk/xdgmime: Build code
+ for freedesktop.org MIME system on Unix.
+
+ * tests/testfilechooser.c: Test program for GtkFileChooser
+
+ * tests/prop-editor.c: Add support for properties on interfaces.
+
Tue Oct 21 16:12:51 2003 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/menus.c (do_menus): Fix some unused
+Wed Oct 22 23:20:04 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkfilechooser.[ch] gtk/gtkfilefilter.[ch]
+ gtk/gtkfilechooserwidget.[ch] gtk/gtkfilechooserdialog.[ch]:
+ gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]:
+ Basic framework for the new file selector widget.
+
+ * gtk/gtkfilechooserdefault.[ch] gtk/gtkcellrenderersep.[ch]
+ gtk/gtkfilechooserentry.[ch] gtk/gtkfilesystemmodel.[ch]:
+ Initial implementation of the GtkFileChooser user interface.
+
+ * gtk/gtkfilesystemunix.[ch]: GtkFileSystem implementation
+ for Unix files.
+
+ * configure.in gtk/Makefile.am gtk/xdgmime: Build code
+ for freedesktop.org MIME system on Unix.
+
+ * tests/testfilechooser.c: Test program for GtkFileChooser
+
+ * tests/prop-editor.c: Add support for properties on interfaces.
+
Tue Oct 21 16:12:51 2003 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/menus.c (do_menus): Fix some unused
+Wed Oct 22 23:20:04 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkfilechooser.[ch] gtk/gtkfilefilter.[ch]
+ gtk/gtkfilechooserwidget.[ch] gtk/gtkfilechooserdialog.[ch]:
+ gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]:
+ Basic framework for the new file selector widget.
+
+ * gtk/gtkfilechooserdefault.[ch] gtk/gtkcellrenderersep.[ch]
+ gtk/gtkfilechooserentry.[ch] gtk/gtkfilesystemmodel.[ch]:
+ Initial implementation of the GtkFileChooser user interface.
+
+ * gtk/gtkfilesystemunix.[ch]: GtkFileSystem implementation
+ for Unix files.
+
+ * configure.in gtk/Makefile.am gtk/xdgmime: Build code
+ for freedesktop.org MIME system on Unix.
+
+ * tests/testfilechooser.c: Test program for GtkFileChooser
+
+ * tests/prop-editor.c: Add support for properties on interfaces.
+
Tue Oct 21 16:12:51 2003 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/menus.c (do_menus): Fix some unused
+Wed Oct 22 23:20:04 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkfilechooser.[ch] gtk/gtkfilefilter.[ch]
+ gtk/gtkfilechooserwidget.[ch] gtk/gtkfilechooserdialog.[ch]:
+ gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]:
+ Basic framework for the new file selector widget.
+
+ * gtk/gtkfilechooserdefault.[ch] gtk/gtkcellrenderersep.[ch]
+ gtk/gtkfilechooserentry.[ch] gtk/gtkfilesystemmodel.[ch]:
+ Initial implementation of the GtkFileChooser user interface.
+
+ * gtk/gtkfilesystemunix.[ch]: GtkFileSystem implementation
+ for Unix files.
+
+ * configure.in gtk/Makefile.am gtk/xdgmime: Build code
+ for freedesktop.org MIME system on Unix.
+
+ * tests/testfilechooser.c: Test program for GtkFileChooser
+
+ * tests/prop-editor.c: Add support for properties on interfaces.
+
Tue Oct 21 16:12:51 2003 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/menus.c (do_menus): Fix some unused
+Wed Oct 22 23:20:04 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkfilechooser.[ch] gtk/gtkfilefilter.[ch]
+ gtk/gtkfilechooserwidget.[ch] gtk/gtkfilechooserdialog.[ch]:
+ gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]:
+ Basic framework for the new file selector widget.
+
+ * gtk/gtkfilechooserdefault.[ch] gtk/gtkcellrenderersep.[ch]
+ gtk/gtkfilechooserentry.[ch] gtk/gtkfilesystemmodel.[ch]:
+ Initial implementation of the GtkFileChooser user interface.
+
+ * gtk/gtkfilesystemunix.[ch]: GtkFileSystem implementation
+ for Unix files.
+
+ * configure.in gtk/Makefile.am gtk/xdgmime: Build code
+ for freedesktop.org MIME system on Unix.
+
+ * tests/testfilechooser.c: Test program for GtkFileChooser
+
+ * tests/prop-editor.c: Add support for properties on interfaces.
+
Tue Oct 21 16:12:51 2003 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/menus.c (do_menus): Fix some unused
esac
AC_MSG_RESULT([$os_win32])
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
+AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
if test "$os_win32" = "yes"; then
AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
gtk/gtk-win32.rc
gtk/stock-icons/Makefile
gtk/theme-bits/Makefile
+gtk/xdgmime/Makefile
modules/Makefile
modules/input/Makefile
contrib/Makefile
SUBDIRS=stock-icons theme-bits
+if OS_UNIX
+SUBDIRS += xdgmime
+endif
+
+DIST_SUBDIRS=stock-icons theme-bits xdgmime
+
INCLUDES = \
-DG_LOG_DOMAIN=\"Gtk\" \
-DGTK_LIBDIR=\"$(libdir)\" \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
+ -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
$(top_builddir)/gdk/$(gdktargetlib) \
$(GTK_DEP_LIBS)
+if OS_UNIX
+libadd += xdgmime/libxdgmime.la
+endif
+
# common options for the various packages.
libtool_opts = \
-version-info $(LT_VERSION_INFO) \
gtkenums.h \
gtkeventbox.h \
gtkexpander.h \
+ gtkfilechooser.h \
+ gtkfilechooserdialog.h \
+ gtkfilechooserwidget.h \
+ gtkfilefilter.h \
gtkfilesel.h \
gtkfixed.h \
gtkfontbutton.h \
gtktextchild.h \
gtktextdisplay.h \
gtktextiter.h \
- gtktextlayout.h \
gtktextmark.h \
gtktexttag.h \
gtktexttagtable.h \
gtkwidget.h \
gtkwindow.h
+# Installed header files without compatibility guarantees
+# that are not include in gtk/gtk.h
+gtk_semi_private_h_sources = \
+ gtktextlayout.h \
+ gtkfilesystem.h
+
# GTK+ header files that don't get installed
gtk_private_h_sources = \
+ gtkcellrendererseptext.h\
gtkcellview.h \
gtkcellviewmenuitem.h \
gtkentryprivate.h \
+ gtkfilechooserentry.h \
+ gtkfilechooserdefault.h \
+ gtkfilechooserprivate.h \
+ gtkfilechooserutils.h \
+ gtkfilesystemunix.h \
+ gtkfilesystemmodel.h \
gtkrbtree.h \
gtktextbtree.h \
gtktextchildprivate.h \
gtkcelllayout.c \
gtkcellrenderer.c \
gtkcellrendererpixbuf.c \
+ gtkcellrendererseptext.c\
gtkcellrenderertext.c \
gtkcellrenderertoggle.c \
gtkcellview.c \
gtkentrycompletion.c \
gtkeventbox.c \
gtkexpander.c \
+ gtkfilechooser.c \
+ gtkfilechooserdialog.c \
+ gtkfilechooserentry.c \
+ gtkfilechooserdefault.c \
+ gtkfilechooserutils.c \
+ gtkfilechooserwidget.c \
+ gtkfilefilter.c \
gtkfilesel.c \
+ gtkfilesystem.c \
+ gtkfilesystemmodel.c \
gtkfixed.c \
gtkfontbutton.c \
gtkfontsel.c \
gtkwindow.c \
xembed.h
+if OS_UNIX
+gtk_private_h_sources += gtkfilesystemunix.h
+gtk_c_sources += gtkfilesystemunix.c
+endif
+
gtk_plug_c_sources = \
gtkplug.c \
gtksocket.c \
lib_LTLIBRARIES = $(gtktargetlib)
gtkincludedir = $(includedir)/gtk-2.0/gtk
-gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_built_public_sources) gtkversion.h
+gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources) $(gtk_plug_c_sources)
libgtk_linux_fb_2_0_la_SOURCES = $(gtk_c_sources)
#include <gtk/gtkexpander.h>
#include <gtk/gtkfilesel.h>
#include <gtk/gtkfixed.h>
+#include <gtk/gtkfilechooserdialog.h>
+#include <gtk/gtkfilechooserwidget.h>
#include <gtk/gtkfontbutton.h>
#include <gtk/gtkfontsel.h>
#include <gtk/gtkframe.h>
#include "gtkfilechooser.h"
#include "gtkfilechooserprivate.h"
-#include "gtkfilechooserenums.h"
#include "gtkfilesystem.h"
+#include "gtktypebuiltins.h"
#define _(str) (str)
* Boston, MA 02111-1307, USA.
*/
+#include "gtkalignment.h"
+#include "gtkcellrendererpixbuf.h"
#include "gtkcellrendererseptext.h"
-#include "gtkfilechooserimpldefault.h"
+#include "gtkcellrenderertext.h"
+#include "gtkentry.h"
+#include "gtkfilechooserdefault.h"
#include "gtkfilechooserentry.h"
-#include "gtkfilechooserenums.h"
#include "gtkfilechooserutils.h"
#include "gtkfilechooser.h"
#include "gtkfilesystemmodel.h"
-
-#include <gtk/gtkalignment.h>
-#include <gtk/gtkcellrendererpixbuf.h>
-#include <gtk/gtkcellrenderertext.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtkframe.h>
-#include <gtk/gtkhbox.h>
-#include <gtk/gtkhpaned.h>
-#include <gtk/gtkicontheme.h>
-#include <gtk/gtkimage.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkmenuitem.h>
-#include <gtk/gtkoptionmenu.h>
-#include <gtk/gtkscrolledwindow.h>
-#include <gtk/gtkstock.h>
-#include <gtk/gtktable.h>
-#include <gtk/gtktreeview.h>
-#include <gtk/gtktreemodelsort.h>
-#include <gtk/gtktreeselection.h>
-#include <gtk/gtktreestore.h>
-#include <gtk/gtkvbox.h>
+#include "gtkframe.h"
+#include "gtkhbox.h"
+#include "gtkhpaned.h"
+#include "gtkicontheme.h"
+#include "gtkimage.h"
+#include "gtklabel.h"
+#include "gtkmenuitem.h"
+#undef GTK_DISABLE_DEPRECATED
+#include "gtkoptionmenu.h"
+#define GTK_DISABLE_DEPRECATED
+#include "gtkprivate.h"
+#include "gtkscrolledwindow.h"
+#include "gtkstock.h"
+#include "gtktable.h"
+#include "gtktreeview.h"
+#include "gtktreemodelsort.h"
+#include "gtktreeselection.h"
+#include "gtktreestore.h"
+#include "gtktypebuiltins.h"
+#include "gtkvbox.h"
#include <string.h>
#include <time.h>
#include "gtkfilechooserdialog.h"
#include "gtkfilechooserwidget.h"
-#include "gtkfilechooserenums.h"
#include "gtkfilechooserutils.h"
#include "gtkfilesystem.h"
+#include "gtktypebuiltins.h"
#include <stdarg.h>
* Boston, MA 02111-1307, USA.
*/
-#include "gtkfilechooserentry.h"
-
-#include <gtk/gtkentry.h>
-
#include <string.h>
+#include "gtkentry.h"
+#include "gtkfilechooserentry.h"
+
typedef struct _GtkFileChooserEntryClass GtkFileChooserEntryClass;
#define GTK_FILE_CHOOSER_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_FILE_CHOOSER_ENTRY, GtkFileChooserEntryClass))
#include "gtkfilechooserutils.h"
#include "gtkfilechooser.h"
-#include "gtkfilechooserenums.h"
#include "gtkfilesystem.h"
+#include "gtktypebuiltins.h"
static void delegate_set_current_folder (GtkFileChooser *chooser,
const GtkFilePath *path);
*/
#include "gtkfilechooserwidget.h"
-#include "gtkfilechooserimpldefault.h"
-#include "gtkfilechooserenums.h"
+#include "gtkfilechooserdefault.h"
#include "gtkfilechooserutils.h"
+#ifdef G_OS_UNIX
#include "gtkfilesystemunix.h"
+#endif
+#include "gtktypebuiltins.h"
struct _GtkFileChooserWidgetPrivate
{
* Boston, MA 02111-1307, USA.
*/
-#include "gtkfilefilter.h"
-
-#include <gtk/gtkobject.h>
-
#include <string.h>
+#include "gtkfilefilter.h"
+#include "gtkobject.h"
+
typedef struct _GtkFileFilterClass GtkFileFilterClass;
typedef struct _FilterRule FilterRule;
return filter->needed;
}
-/* Remove once we merge into GTK+ and use _gtk_fnmatch().
- */
-gboolean _gtk_file_chooser_fnmatch (const char *pattern,
- const char *string);
-
/**
* gtk_file_filter_filter:
* @filter: a #GtkFileFilter
return TRUE;
break;
case FILTER_RULE_PATTERN:
- if (_gtk_file_chooser_fnmatch (rule->u.pattern, filter_info->display_name))
+ if (_gtk_fnmatch (rule->u.pattern, filter_info->display_name))
return TRUE;
break;
case FILTER_RULE_CUSTOM:
* Boston, MA 02111-1307, USA.
*/
-#include <gtk/gtkicontheme.h>
#include "gtkfilesystem.h"
+#include "gtkicontheme.h"
#include <string.h>
#ifndef __GTK_FILE_SYSTEM_H__
#define __GTK_FILE_SYSTEM_H__
+/* This is a "semi-private" header; it is meant only for
+ * alternate GtkFileChooser backend modules; no stability guarantees
+ * are made at this point
+ */
+#ifndef GTK_FILE_SYSTEM_ENABLE_UNSUPPORTED
+#error "GtkFileSystem is not supported API for general use"
+#endif
+
#include <glib-object.h>
#include <gtk/gtkwidget.h> /* For icon handling */
* Boston, MA 02111-1307, USA.
*/
+#include <string.h>
+
#include "gtkfilesystemmodel.h"
#include "gtkfilesystem.h"
-#include <gtk/gtktreemodel.h>
-#include <string.h>
+#include "gtktreemodel.h"
typedef struct _GtkFileSystemModelClass GtkFileSystemModelClass;
typedef struct _FileModelNode FileModelNode;
#include "gtkfilesystem.h"
#include "gtkfilesystemunix.h"
+#define XDG_PREFIX _gtk_xdg
#include "xdgmime/xdgmime.h"
#include <errno.h>
-INCLUDES = -DXDG_PREFIX=_xdg
+INCLUDES = -DXDG_PREFIX=_gtk_xdg
noinst_LTLIBRARIES = libxdgmime.la
testcalendar \
testcombo \
testdnd \
+ testfilechooser \
testgtk \
testicontheme \
testinput \
testcalendar_DEPENDENCIES = $(TEST_DEPS)
testcombo_DEPENDENCIES = $(TEST_DEPS)
testdnd_DEPENDENCIES = $(TEST_DEPS)
+testfilechooser_DEPENDENCIES = $(TEST_DEPS)
testgtk_DEPENDENCIES = $(TEST_DEPS)
testinput_DEPENDENCIES = $(TEST_DEPS)
testmenus_DEPENDENCIES = $(TEST_DEPS)
testcalendar_LDADD = $(LDADDS)
testcombo_LDADD = $(LDADDS)
testdnd_LDADD = $(LDADDS)
+testfilechooser_LDADD = $(LDADDS)
testgtk_LDADD = $(LDADDS)
testicontheme_LDADD = $(LDADDS)
testinput_LDADD = $(LDADDS)
testmerge_LDADD = $(LDADDS)
testactions_LDADD = $(LDADDS)
+testfilechooser_SOURCES = \
+ prop-editor.c \
+ testfilechooser.c
+
testgtk_SOURCES = \
prop-editor.c \
testgtk.c
GtkWidget *sw;
GtkWidget *vbox;
GtkWidget *table;
- GObjectClass *class;
GParamSpec **specs;
gint n_specs;
int i;
- class = G_OBJECT_CLASS (g_type_class_peek (type));
- specs = g_object_class_list_properties (class, &n_specs);
+ if (G_TYPE_IS_INTERFACE (type))
+ {
+ gpointer vtable = g_type_default_interface_peek (type);
+ specs = g_object_interface_list_properties (vtable, &n_specs);
+ }
+ else
+ {
+ GObjectClass *class = G_OBJECT_CLASS (g_type_class_peek (type));
+ specs = g_object_class_list_properties (class, &n_specs);
+ }
if (n_specs == 0)
return NULL;
GtkWidget *properties;
GtkWidget *label;
gchar *title;
-
+ GType *ifaces;
+ guint n_ifaces;
+
if ((win = g_object_get_data (G_OBJECT (object), "prop-editor-win")))
{
gtk_window_present (GTK_WINDOW (win));
type = g_type_parent (type);
}
+
+ ifaces = g_type_interfaces (G_TYPE_FROM_INSTANCE (object), &n_ifaces);
+ while (n_ifaces--)
+ {
+ properties = properties_from_type (object, ifaces[n_ifaces], tips);
+ if (properties)
+ {
+ label = gtk_label_new (g_type_name (ifaces[n_ifaces]));
+ gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
+ properties, label);
+ }
+ }
+
+ g_free (ifaces);
}
else
{
#include <unistd.h>
#include <gtk/gtk.h>
-#include "gtkfilechooserdialog.h"
-#include "gtkfilechooser.h"
#include "prop-editor.h"
-#ifdef USE_GNOME_VFS
-#include "gtkfilesystemgnomevfs.h"
-#else
-#include "gtkfilesystemunix.h"
-#endif
-
static GtkWidget *preview_label;
static GtkWidget *preview_image;
GtkWidget *button;
GtkWidget *dialog;
GtkWidget *prop_editor;
- GtkFileSystem *file_system;
GtkFileFilter *filter;
GtkWidget *preview_vbox;
GtkWidget *extra;
gtk_init (&argc, &argv);
-#ifdef USE_GNOME_VFS
- file_system = gtk_file_system_gnome_vfs_new ();
-#else
- file_system = gtk_file_system_unix_new ();
-#endif
-
dialog = g_object_new (GTK_TYPE_FILE_CHOOSER_DIALOG,
"action", GTK_FILE_CHOOSER_ACTION_OPEN,
- "file-system", file_system,
"title", "Select a file",
NULL);